home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / comm1 / qwesorcs.lha / qwe_sources / cdnet / Creator.c < prev   
C/C++ Source or Header  |  1995-10-03  |  3KB  |  133 lines

  1. const char *_VERSION="\0$VER: Creator 1.2 (07.08.95)";
  2.  
  3. #include <dos/dos.h>
  4. #include <stdio.h>
  5.  
  6. FILE    *fr1,*fr2,*fw1,*fw2;
  7.  
  8. char    indexpfad[81]="pfiles:cdnet/",
  9.         treepfad[81]="pfiles:cdnet/",
  10.         tree[81]="pfiles:cdnet/tree",
  11.         createpfad[81]="makedir >nil: pfiles:cdnet/",
  12.         cdfilespfad[81],
  13.         index_name[81],
  14.         leer[81]="                                                                                ",
  15.  
  16.         line_a[150],*p,*a[3],
  17.         line_b[150];
  18.  
  19. BOOL    found;
  20.  
  21. UBYTE    x,y,i,j,k,
  22.  
  23.         ipos[3],ilen[3];
  24.  
  25. // 1: name dir
  26. // 2: pfad cd
  27. // 3: name index
  28. // 4: pos name
  29. // 5: len name
  30. // 6: pos size
  31. // 7: len size
  32. // 8: pos desc
  33. // 9: len desc
  34.  
  35. main(int argc,char **argv)
  36. {
  37.     if(argc!=10)
  38.     {
  39.         printf("\nCreator v1.2\nUsage: Creator <Dir-Name> <CD-Rom-Path> <Index-Name> <Pos_Name> <Len_Name> <Pos_Size> <Len_Size> <Pos_Desc> <Len_Desc>\n\nExample: Creator Aminet6 Aminet6:Aminet index 1 18 30 5 40 48\n\n");
  40.     }
  41.     else
  42.     {
  43.         for(i=0;i<3;i++)
  44.         {
  45.             ipos[i]=atoi(argv[i*2+4]);
  46.             ilen[i]=atoi(argv[i*2+5]);
  47.  
  48.             if(ipos[i]>0)
  49.             {
  50.                 a[i]=line_a+ipos[i]-1;
  51.             }
  52.             else
  53.             {
  54.                 a[i]=leer;
  55.             }
  56.         }
  57.  
  58.         AddPart(indexpfad,argv[1],80);
  59.         AddPart(treepfad,argv[1],80);
  60.         AddPart(indexpfad,"index",80);
  61.         AddPart(treepfad,"tree",80);
  62.  
  63.         strcpy(cdfilespfad,argv[2]);
  64.  
  65.         AddPart(createpfad,argv[1],80);
  66.  
  67.         system(createpfad);
  68.  
  69.         if (fr1=fopen(tree,"r"))
  70.         {
  71.             if (fw1=fopen(treepfad,"wb"))
  72.             {
  73.                 if (fw2=fopen(indexpfad,"wb"))
  74.                 {
  75.                     while(fgets(line_a+1,sizeof(line_a)-1,fr1))
  76.                     {
  77.                         line_a[0]=' ';
  78.                         p=line_a+1;
  79.                         while(*p!=' ')
  80.                         {
  81.                             p++;
  82.                         }
  83.                         *p=0;
  84.                         strcpy(index_name,cdfilespfad);
  85.                         AddPart(index_name,line_a+1,80);
  86.                         AddPart(index_name,argv[3],80);
  87.  
  88.                         if(line_a[5]!=' ' && line_a[5]!=0 && line_a[1]!=10 && strnicmp(line_a+1,"info",4)!=0)
  89.                         {
  90.                             if (fr2=fopen(index_name,"r"))
  91.                             {
  92.                                 *p=' ';
  93.                                 fputs(line_a,fw1);
  94.                                 *p=10;
  95.                                 p++;
  96.                                 *p=0;
  97.                                 line_a[0]='#';
  98.                                 fputs(line_a,fw2);
  99.                                 while(fgets(line_a,sizeof(line_a),fr2))
  100.                                 {
  101.                                     if(line_a[0]!='|')
  102.                                     {
  103.                                         for(i=0;i<3;i++)
  104.                                         {
  105.                                             if(ilen[i]>0)
  106.                                             {
  107.                                                 line_a[ipos[i]+ilen[i]-1]=0;
  108.                                             }
  109.                                         }
  110.                                         sprintf(line_b," %-22.22s %8.8s %-.46s\0",a[0],a[1],a[2]);
  111.                                         i=strlen(line_b);
  112.                                         if(i==79)
  113.                                         {
  114.                                             line_b[i-1]=10;
  115.                                             line_b[i]=0;
  116.                                         }
  117.                                         fputs(line_b,fw2);
  118.                                     }
  119.                                 }
  120.                                 fclose(fr2);
  121.                             }
  122.                         }
  123.                     }
  124.                     fclose(fw2);
  125.                 }
  126.                 fclose(fw1);
  127.             }
  128.             fclose(fr1);
  129.         }
  130.     }
  131. }
  132.  
  133.